package chapter_08_bridge.classic;

/**
 * @author yaochenglong
 * @date 2017/10/17
 */
public class Client {
    public static void main(String[] args) {
        //定义实现化角色
        Implementor implementor = new Implementor1();

        //定义抽象化角色；这个抽象类使用implementor作为实现类来实现具体的功能；
        Abstraction abstraction = new RefinedAbstraction(implementor);
        //执行行为
        abstraction.request();

        //如果想要换一个实现类
        abstraction = new RefinedAbstraction(new Implementor2());
        //执行行为
        abstraction.request();

        //如果想要换一个抽象化角色；暂无定义：RefinedAbstraction2
        //abstraction = new RefinedAbstraction2(new Implementor2());

    }
}
